package com.musollo.mp3tools;

import java.io.File;
import java.io.FileNotFoundException;

import com.musollo.domain.MP3;
import com.musollo.exceptions.ParseException;

/**
 * This interface defines a way to read actual mp3 files in to an MP3 class,
 * which can be used throughout the application.
 * 
 * @author paw.janssen
 * 
 */
public interface TagReader {

	/**
	 * This method should "convert" an actual MP3 file in to an MP3 class. The
	 * tags of the mp3 file should be read and set in the corrosponding class
	 * properties.
	 * 
	 * @param mp3File
	 *            - The mp3 file on the filesystem.
	 * 
	 * @return MP3 - The MP3 class representing the mp3 file.
	 * @throws FileNotFoundException
	 *             - Thrown if the mp3 file is not found on the filesystem.
	 * @throws ParseException
	 *             - Thrown when the tags of the mp3file cannot be parsed.
	 */
	public MP3 readMP3(File mp3File) throws FileNotFoundException, ParseException;
}
